vlwkaos' digital garden

Rust - const static

// attribute
#[allow(non_upper_case_globals)] // #[warn(non_upper_case_globals)]
const NUMBER: i32 = 20;// #define같은거라, 타입 명시해야하고 값 지정
static NONO: i32 = 0; // const와 다른점? static은 같은 메모리 공간을 쓰는 보장, 주로 const를 많이씀
// static은 mut할 수 있으나, unsafe하다.


fn print_number() {
    println!("{}", NUMBER)
}

fn main() {
    let x = 8; // 'let' binding: i32

    //NONO = 1;  warning이 나옴 아래처럼.. 근데 주로 안쓰임. 더 나은 방법이 있을 거임
    unsafe {
        NONO = 1;
        
    }

// &'static str  'static lifetime 프로그램 시작부터 끝까지 살아있음

}

https://doc.rust-lang.org/rust-by-example/scope/lifetime/static_lifetime.html

Referred in

Rust - const static